package cn.gorit.content.controller;

import cn.gorit.common.enums.ResultEnums;
import cn.gorit.common.lang.Result;
import cn.gorit.content.service.AboutService;
import cn.gorit.entity.content.About;
import cn.gorit.utils.Page;
import cn.gorit.utils.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Arrays;
import java.util.List;

/**
 * @version v1.0
 * @Classname AboutController
 * @Description TODO
 * @Author CodingGorit
 * @Created on 2021/3/31
 * @IDLE IntelliJ IDEA
 **/
@RestController
@RequestMapping("/api/v1")
public class AboutController {
    @Autowired
    private AboutService service;

//    /**
//     * 保存关于信息  OK
//     * @param about
//     * @return
//     */
//    @RequestMapping(value = "/back/about",method = RequestMethod.POST)
//    public Result<Object> saveAbout(@RequestBody About about) {
//        service.save(about);
//        return new Result<>("添加成功");
//    }
//
//    /**
//     * 修改 OK 需要优化一下，才行，添加参数注意 version 字段，乐观锁保证数据能正常使用
//     */
//    @PutMapping("/back/about")
//    public Result<Object> updateAbout(@RequestBody About about) {
//        service.update(about);
//        return new Result<>("修改成功!");
//    }
//
//    /**
//     * 根据 ID 查询 （后台） OK
//     */
//    @RequestMapping(value = "/back/about/{id}",method = RequestMethod.GET)
//    public Result<About> getAboutById(@PathVariable("id") Integer id) {
//        About about = service.getById(id);
//        return new Result<About>(about != null ?"查询成功":"数据不存在", about);
//    }
//
//    /**
//     * 根据 ID 删除 （逻辑删除） OK
//     */
//    @RequestMapping(value = "/back/about/{id}",method = RequestMethod.DELETE)
//    public Result<Object> deleteAboutById(@PathVariable("id") Integer id) {
//        service.deleteById(id);
//        return new Result<>("删除成功！！");
//    }
//
//    /**
//     * 启用 与 禁用
//     */
//    @RequestMapping(value = "/back/about/{id}/{enable}",method = RequestMethod.PUT)
//    public Result<Object> enableAbout(@PathVariable("id") Integer id,@PathVariable("enable") Integer enable) {
//        return service.enableById(id,enable);
//    }
//
//
//    /**
//     * 分页查询  没问题
//     */
//    @RequestMapping(value = "/back/about/page",method = RequestMethod.POST)
//    public Result<Page<About>> getByPage(@RequestBody Page<About> page) {
//        String sortColumn = page.getSortColumn();
//        if (StringUtils.isNotBlank(sortColumn)) {
//            // 排序列不为空
//            String[] sortColumns = {"about_id", "created_time", "update_time"};
//            List<String> sortList = Arrays.asList(sortColumns);
//            if (!sortList.contains(sortColumn.toLowerCase())) {
//                return new Result<>(ResultEnums.PARAMS_ERROR.getCode(), "排序参数不合法！");
//            }
//        }
//        page = service.getByPage(page);
//        return new Result<>(page);
//    }

    /**
     * 根据 ID 阅读关于数据（关于我得一般只有一条数据） OK
     */
    @RequestMapping(value = "/front/about/detail",method = RequestMethod.GET)
    public Result<About> readAbout() {
        return service.read();
    }

}
